import { createRouter, createWebHistory, createWebHashHistory } from 'vue-router'
import constantroutes from './constantroutes'
import type {} from 'vue-router'

// 检测是否在 Electron 环境中
// 检查是否为 file:// 协议（Electron 使用此协议加载本地文件）
// 或检查是否存在 window.require（Node.js 集成时可用）
const isElectron = typeof window !== 'undefined' &&
  (window.location.protocol === 'file:' || typeof (window as typeof window & { require?: unknown }).require !== 'undefined')

const router = createRouter({
  // 在 Electron 环境中使用 hash 模式，否则使用 history 模式
  history: isElectron ? createWebHashHistory() : createWebHistory(),
  routes: [...constantroutes],
})

export default router
export { default as anyroutes } from './anyroutes'
export { default as asyncroutes } from './asyncroutes'
export { autoAsyncRoutes } from './autoasync'
